package 集合;

/*
put() 方法将指定的键/值对插入到 HashMap 中。

put() 方法的语法为：

hashmap.put（K key，V value）
注：hashmap 是 HashMap 类的一个对象。

参数说明：

key - 键
value - 值
返回值
如果插入的 key 对应的 value 已经存在，则执行 value 替换操作，返回旧的 value 值，如果不存在则执行插入，返回 null。

实例
以下实例演示了 put() 方法的使用（key 对应的 value 不存在）：
*/
/*
import java.util.HashMap;

public class put方法 {
    public static void main(String[] args) {
        // 创建一个 HashMap
        HashMap<Integer, String> sites = new HashMap<>();

        // 往 HashMap 添加一些元素
        sites.put(1, "Google");
        sites.put(2, "Runoob");
        sites.put(3, "Taobao");
        System.out.println("HashMap: " + sites);
    }
}
*/
/*执行以上程序输出结果为：

HashMap: {1=Google, 2=Runoob, 3=Taobao}
在以上实例中，我们创建了一个名为 sites 的 HashMap，代码后面使用了 put() 方法将该 Key/value 映射关系插入到这个 HashMap 中。

插入多个 key/value Java HashMap putAll() 方法。

注意：每个项都随机的插入到 HashMap 中的。

key 对应的 value 已存在插入实例：

实例*/
import java.util.HashMap;

class put方法 {
    public static void main(String[] args) {
        // 创建一个 HashMap
        HashMap<Integer, String> sites = new HashMap<Integer, String>();

        // 往 HashMap 添加一些元素
        sites.put(1, "Google");
        sites.put(2, "Runoob");
        sites.put(3, "Taobao");
        System.out.println("HashMap: " + sites);
        // 添加重复的key元素
        //放入已经存在的value,则替换原值且返回旧值，即：Weibo替换Google且返回Google
        String value = sites.put(1, "Weibo");
        System.out.println("修改后的 HashMap: " + sites);
        
        sites.put(3, "Taobao");
        String value1 = sites.put(4, "Taobao");//添加不存在的key元素，返回null
        

        // 查看所代替的值
        System.out.println("替换的值: " + value1);
    }
}
//执行以上程序输出结果为：
//
//修改后的 HashMap: {1=Weibo, 2=Runoob, 3=Taobao}
//替换的值: Google
/*
Java HashMap remove() 方法
Java HashMap Java HashMap

remove() 方法用于删除hashMap 中指定键 key 对应的键值对(key-value)。

remove() 方法的语法为：

hashmap.remove(Object key, Object value);
注：hashmap 是 HashMap 类的一个对象。

参数说明：

key - 键值
value（可选）- 键值对(key-value)中 key 对应的 value 值
返回值
如果指定 key，返回指定键 key 关联的值，如果指定的 key 映射值为 null 或者该 key 并不存在于该 HashMap 中，此方法将返回null。

如果指定了 key 和 value，删除成功返回 true，否则返回 false。
*/